package com.music.dao;

import com.music.entity.Album;

import java.util.List;

import org.apache.ibatis.annotations.Param;

/**
 * 唱片接口
 * 
 * @author Administrator
 *
 */
public interface AlbumDao {

	/**
	 * 添加唱片
	 * 
	 * @param album
	 */
	void add(Album album);

	/**
	 * 修改唱片
	 * 
	 * @param album
	 */
	void update(Album album);

	/**
	 * 删除唱片
	 * 
	 * @param id
	 */
	void delete(int id);

	
	
	/**
	 * 根据唱片id获得唱片
	 * 
	 * @param id
	 * @return
	 */
	Album fetchById(int id);


	/**
	 * 返回最新的前num个唱片
	 * 
	 * @param num
	 * @return
	 */
	List<Album> getHotAlbums(@Param("num")int num);

	/**
	 * 根据唱片id/分类id/唱片名查询某一页的唱片信息
	 * 
	 * @param genreId
	 * @param title
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	List<Album> getAlbumsByConditions(@Param("id") int id,@Param("genreId") int genreId,
			@Param("title") String title, @Param("pageNo") int pageNo,
			@Param("pageSize") int pageSize);

	/**
	 * 获取满足查询条件的记录数
	 * 
	 * @param genreId
	 * @param title
	 * @return
	 */
	int getRowCountByConditions(@Param("id") int id,@Param("genreId") int genreId,
			@Param("title") String title);

}
